var util = require('/util.js')
/**
 * @description 获取签名后的url
 * @param {String} parameters  url参数，例如a=1&b=2
 */
function GetSign(parameters) {

  //第一步：索取应用系统私钥key,应用系统私钥key(此值为开发调试临时使用)
  var private_key = "88e02bd6_8d05_8173_90dd_82701f386d23";//

  //第二步：给调用url加上timestamp参数
  var timestamp = (new Date()).valueOf();

  parameters += "&tamp=" + timestamp;

  //第三步：取出url中的所有参数
  //第四步：把字典值，按key的字母顺序排序，并把key统一转成小写
  parameters = parameters.toLowerCase();
  var parArray = parameters.split("&");
  parArray = parArray.sort();
  // 第五步：把排序后的字典中的key和value串到一起
  parArray = parArray.join("");
  parArray = parArray.replace(/=/g, "");

  //第六步：把key值放加到字符串头部
  parArray = private_key + parArray;

  //第七步：对字符串进行SHA1加密，所得结果既为签名值
  var hash = util.sha1(parArray)
  //第八步：把签名值追加命令url中
  parameters = parameters + "&appsign=" + hash.toLowerCase();
  return parameters
}

/**
 * commandid, routerPar, urlParameter, jsonTypeParameter, CallbackFunction
 * {"name":"apiName","success":successFun}
 */
function API(options) {
  //TODO 拼接url
  const url = serverBaseUrl
  if (!options.apiName)

    wx.request({
      url: url,
      data: jsonTypeParameter,
      header: {
        'content-type': 'application/json' // 默认值
      },
      success: function (res) {
        if (CallbackFunction) {
          CallbackFunction(res)
        }
      },
      fail: function (res) {
        console.log(res)
        wx.showToast({
          title: "网络连接失败!",
          icon: 'loading',
          duration: 2000
        })
      }
    })
}

module.exports = {
  GetSign: GetSign,
  API: API
}
